package com.edu.cqr.web.demo.service;

import com.edu.cqr.web.demo.model.UserInfo;

import java.util.List;
import java.util.Set;

/**
 * 根据用户名返回用户信息
 * @param
 * @return 返回用户名对应的用户信息；如果找不到，返回null
 * */
public interface UserService {
    /*
     * 根据用户名返回用户信息
     * @param userName
     * @return 返回用户名对应的用户信息，如果找不到，返回null、
     * */
    UserInfo getUserInfo(String userName);
    /*
     * 根据用户ID，返回用户拥有角色
     * @param userId
     * @return 返回用户拥有的所有角色集合。
     * */
    Set<String> getRoles(Integer userId);

    void addUser(String userName, String password, String roleName) throws Exception;

    /**
     * 根据用户名查询userId并删除user_info 和 user_role
     */
    void delUser(String userName) throws Exception;

    void modifyPassword(String userName,String password);

    boolean verifyPassword(String password, String salt ,String realPassword);

    void updateState(String userName);

    void enbupdateState(String userName);

    void updateRoles(String userName,String roleName);

    UserInfo findUserInfo(String userName);

    List<UserInfo> findUserInfoAll();

}
